/*userOutputPin
Qiang.DAI
2025.09.01
YYYY.MM.DD
*/
#ifndef _USER_OUTPUT_PIN_H
#define _USER_OUTPUT_PIN_H

#include "main.h"



typedef struct s_OutputPin{
GPIO_TypeDef *mGpio_Port_ptr;
uint16_t mGpio_Pin; 
uint16_t mToggleFreqz_Para;
volatile uint16_t mToggleTIM_Cnt;
uint8_t mPinStartStaus;	
uint8_t mPinStatus;	
volatile uint8_t mToggleFunc_En;
} S_OutputPin_t;


extern S_OutputPin_t pinLedStaus;
extern S_OutputPin_t pinLedRun;
/*Function Port:*/
void userGpioOutputSet(struct s_OutputPin *p,uint8_t Staus_val);
void userGpioToggleSet(struct s_OutputPin *p,float FqzSec); //FqzSec = 0 means Disable EN
/*BSP_Pin init*/
void userOutputPin_init(void);
/*TIM 10ms ISR*/
void outputPinToggle_TIM_ISR(void);





#endif /*_USER_OUTPUT_PIN_H*/

